﻿#define _CRT_SECURE_NO_WARNINGS 1

//int main()
//{
//	int a1[10];
//	char b1[10];
//	double c1[9];
//	return 0;
//}
//int main()
//{
//	int b[6] = { 1, 2, 3, 4, 5, 6 };//打印一个数组的数据
//	int c = 0;
//	for (c; c <= 5; ++c)
//	{
//		printf("%d ", b[c]);
//	}
//	return 0;
//}
//int main()
//{
//	int b[10] = { 0 };
//	double c[10] = { 0 };
//	printf("%zd", sizeof(c));
//	return 0;
//}
//int main()
//{
//	int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
//	int x = sizeof(arr) / sizeof(arr[1]);//计算数组元素个数
//	for (int i = 0 ; i < x; ++i)
//	{
//		printf("%&arr[%d] = %p\n", i, &arr[i]);
//	}
//	printf("%d", x);
//	return 0;
//}
//int main()
//{
//	int arr[2][3] = { {1,2,3} ,{ 4,5,6 } };
//	printf("%d", arr[0][1]);
//	return  0;
//}
//int main()
//{
//	int arr[3][5] = { 1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7 };
//	int i = 0, j = 0;
//	for (i = 0; i < 3; ++i)
//	{
//		for (j = 0; j < 5; ++j)
//		{
//			printf("%d ", arr[i][j]);
//		}
//		printf("\n");
//	}
//	//for (i = 0 ; i < 3 ;)
//    return 0;
//}
//int main()
//{
//	int arr[3][5] = {};//输入并打印一个二维数组
//	int i = 0, j = 0;
//	for (i = 0; i < 3; ++i)
//	{
//		for (j = 0; j < 5; ++j)
//		{
//			scanf("%d", &arr[i][j]);
//		}
//	}
//		for (i = 0; i < 3; ++i)
//		{
//			for (j = 0; j < 5; ++j)
//			{
//				printf("%d ", arr[i][j]);
//			}
//			printf("\n");//打印时候换行的画龙点睛之笔
//		}
//	return 0;
//}
//int main()
//{
//	int i = 0, j = 0;
//	int arr[3][5] = { 0 };
//	for (i = 0; i < 3; ++i)
//	{
//		for (j = 0; j < 5; ++j)
//		{
//			printf("arr[%d][%d]%p\n", i, j,  &arr[i][j]);//打印地址用%d
//		}
//	}
//	return 0;
//}

//int main()
//{
//	char arr[10] = "*********";
//	int i = 1;
//	int b = strlen(arr) - 1;
//	for (b; b > 0; b--)
//	{
//		for (i = 0; i < 10; ++i)
//		{
//			printf("%c", arr[i]);
//
//		}
//		printf("\n");
//	}
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	char arr1[] = "welcome to bit...";
//	char arr2[] = "#################";
//	int left = 0;
//	int right = strlen(arr1) - 1;
//	printf("%s\n", arr2);
//	while (left <= right)
//	{
//		Sleep(1000);
//		arr2[left] = arr1[left];
//		arr2[right] = arr1[right];
//		left++;
//		right--;
//		printf("%s\n", arr2);
//	}
//	retutn 0;
//}
#include <string.h>
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
//int main()
//{
//	char arr1[] = "Wish you happiness every day";
//	char arr2[] = "****************************";
//	//char arr2[] = "❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤";
//	int z = 0;
//	int y = strlen(arr1) - 1;
//
//	while (z <= y)
//	{
//		arr2[z] = arr1[z];
//		arr2[y] = arr1[y];
//		printf("%s\n", arr2);
//		system("cls");
//		Sleep(200);
//		++z;
//		--y;
//	}
//	//printf("%s\n", arr2);
//
//	return 0;
//}
int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };//在这个有序数组里面找到k值的下标
	int k = 0;
	printf("请输入要查找的数：");
	scanf("%d", &k);
	int sz = sizeof(arr) / sizeof(arr[0]);//求出数组的总下标（元素）个数sz
	
    int left = 0;
	int right = sz - 1;//下标从0开始
	int flag = 0;//标记符号
	while (left <= right)
	{
		int mid = left + (right - left) / 2;//求中间下标
		if (arr[mid] < k)
		{
			left = mid + 1;
		}
		else if (arr[mid] > k)
		{
			right = mid - 1;
		}
		else
		{
			flag = 1;//提示找到或者找不到
			printf("找到了，下标是%d\n", mid);
			break;
		}
	}
	if (flag == 0)
	{
		printf("找不到\n");
	}
	 
	return 0;
}